home *** CD-ROM | disk | FTP | other *** search
- // File: DGEN.SYN
- // Copyright Norman Wilde 1993
- // AnaGram grammar for a test specification file
- // (partial)
-
- grammar
- -> statement..., eof =writeDriver();
- statement
- -> embeddedBlock, space?...
- -> runStatement, space?...
- -> declaration, space?...
- embeddedBlock
- -> block:eb =addBlock(eb);
- runStatement
- -> runHeader, space..., testSpec
- runHeader
- -> "runtest", space..., string:n =setRunName(n);
- testSpec
- -> "combining", space...,
- variableList:vl, block:b =makeComb(vl,b);
- (struct STRLIST *) variableList
- -> variable:v, space... =listNew(v,"");
- -> variableList:lst,
- variable:v, space... =listAdd(lst,v,"");
- declaration
- -> intDeclaration
- -> ItemDeclaration
- -> ClientDeclaration
- -> InvoiceDeclaration
- // Declaration of a set of integers
- intDeclaration
- -> "int", space...,
- variableList:vl, "{", space?...,
- initializorList:il, "}"
- =addTVars(vl,"int","int",il);
- // Declaration of a set of Item objects
- ItemDeclaration
- -> "Item", space...,
- variableList:vl, "{", space?...,
- initializorList:il, "}"
- =addTVars(vl,"Item","Item&",il);
- // Declaration of a set of Client objects
- ClientDeclaration
- -> "Client", space...,
- variableList:vl, "{", space?...,
- initializorList:il, "}"
- =addTVars(vl,"Client","Client&",il);
- // Declaration of a set of Invoice objects
- InvoiceDeclaration
- -> "Invoice", space...,
- variableList:vl, "{", space?...,
- initializorList:il, "}"
- =addTVars(vl,"Invoice","Invoice&",il);
-